//
//  GetUserDetailInfoEngine.m
//  HuLaQuan
//
//  Created by hok on 1/28/16.
//  Copyright © 2016 Jianghao. All rights reserved.
//

#import "GetUserDetailInfoEngine.h"

#import "CurrentUser.h"

#import "YuUserDefaultsUtilities.h"

@implementation GetUserDetailInfoEngine

- (void)getUserInfo
{
    NSString *randomKey = [self createKeyWithLength:24];
    
    NSString *src = [NSString stringWithFormat: @"<?xml version=\"1.0\" encoding=\"UTF-8\"?><msg service=\"getUserInfo\" sysName=\"attach\" sign=\"RSA\" serialNumber=\"%@\" termId=\"star_open_esa\" termAdd=\"23.23,23.45\" termBrand=\"iPhone\" osVersion=\"iPhone OS 9.1\" appVersion=\"1.0.0\" tokenValue=\"%@\" userId=\"%@\" channelId=\"88888888\"><attach>attach</attach></msg>",[self getSerialNumber],[CurrentUser sharedInstance].token,[CurrentUser sharedInstance].ID];
    
    NSString *final = [NSString stringWithFormat:@"%@|%@|%@",[self firstString],[self secondStringWithKey:randomKey],[self thirdStringWithBody:src andKey:randomKey]];
    
    [YuHTTPClient XMLDataWithUrl:SERVER_HOST_CUSTOMER parameters:final success:^(BOOL isSuccess, id item){
        
        NSDictionary *result;
        if (isSuccess) {
            if ([item isKindOfClass:[NSArray class]]) {
                NSString *resString = [_DES decrypt:[item lastObject] withKey:randomKey];
                
                NSDictionary *resultDic = [self parseXMLFromYinLianConnection:resString];
                
                
   
                NSLog(@"%@",resultDic);
                
//                
//                NSMutableDictionary *userInfo = [[NSMutableDictionary alloc] init];
//                [accountInfo setObject:[arr lastObject] forKey:[arr firstObject]];
                
                if(resultDic[@"payLimit"])
                {
                    [YuUserDefaultsUtilities saveValue:resultDic[@"payLimit"] forKey:@"UserPayLimit"];
                }else{
                    [YuUserDefaultsUtilities saveValue:@"0" forKey:@"UserPayLimit"];
                }
                
                result = @{@"isSuccess":@YES,@"result":resultDic};
                
            }
        }else{
            result = @{@"isSuccess":@NO,@"message":item};
            NSLog(@"%@",item);
        }
        
        [[NSNotificationCenter defaultCenter] postNotificationName:@"GetUserInfoFinish" object:result];
    }];

}

- (void)getUserInfoWithSMSToken:(NSString *)token
{
    NSString *randomKey = [self createKeyWithLength:24];
    
    NSString *src = [NSString stringWithFormat: @"<?xml version=\"1.0\" encoding=\"UTF-8\"?><msg service=\"getUserInfo\" sysName=\"attach\" sign=\"RSA\" serialNumber=\"%@\" termId=\"star_open_esa\" termAdd=\"23.23,23.45\" termBrand=\"iPhone\" osVersion=\"iPhone OS 9.1\" appVersion=\"1.0.0\" tokenValue=\"%@\" userId=\"%@\" channelId=\"88888888\"><attach>attach</attach></msg>",[self getSerialNumber],token,[CurrentUser sharedInstance].ID];
    
    NSString *final = [NSString stringWithFormat:@"%@|%@|%@",[self firstString],[self secondStringWithKey:randomKey],[self thirdStringWithBody:src andKey:randomKey]];
    
    [YuHTTPClient XMLDataWithUrl:SERVER_HOST_CUSTOMER parameters:final success:^(BOOL isSuccess, id item){
        
        NSDictionary *result;
        if (isSuccess) {
            if ([item isKindOfClass:[NSArray class]]) {
                NSString *resString = [_DES decrypt:[item lastObject] withKey:randomKey];
                
                NSDictionary *resultDic = [self parseXMLFromYinLianConnection:resString];
                
                
                
                NSLog(@"%@",resultDic);
                
                //
                //                NSMutableDictionary *userInfo = [[NSMutableDictionary alloc] init];
                //                [accountInfo setObject:[arr lastObject] forKey:[arr firstObject]];
                
                result = @{@"isSuccess":@YES,@"result":resultDic};
                
                NSLog(@"%@",[CurrentUser sharedInstance].description);
            }
        }else{
            result = @{@"isSuccess":@NO,@"message":item};
            NSLog(@"%@",item);
        }
        
        [[NSNotificationCenter defaultCenter] postNotificationName:@"GetUserInfoFinish" object:result];
    }];
}
@end
